The present invention relates to telecommunications systems and, particularly, to an improved system and method for multimedia conferencing.
The ITU-T (International Telecommunications Union Telecommunications Sector) Recommendation H.323 defines a set of protocols for communicating using audio, video and data over packet-switched networks. To accommodate multipoint conferences (i.e., those involving three or more parties), the Recommendation H.323 defines a multipoint control unit (MCU) to coordinate the conferencing. In particular, the MCU is required by the Recommendation H.323 to include a multipoint controller (MC), which handles H.245 signaling. In addition, the MCU may include one or more multipoint processors (MP), which mix and process the data streams.
The MPs may also provide conversion, or transcoding, between different codecs. However, typical MPs transmit at the highest quality codec each user will support, whether or not it is necessary. For example, if someone with a high quality G.711 codec is talking, using the xe2x80x9cbest codecxe2x80x9d method allows everyone to receive the voice with the highest possible quality from the codec. However, if someone with a lower quality codec (e.g., G.723) is speaking, their voice is distributed to the G.711 users with G.711, which is wasteful.
This process is illustrated schematically by way of an example in Table 1 and FIGS. 1A and 1B. In the example shown in Table 1, User A has GSM, G.723, and G.711 capabilities; User B has G.711 and G.723 capabilities; User C has G.723 capabilities; and User D has GSM capabilities.
As shown in FIG. 1A, if User A communicates in a two-party conference with User B, G.711 will be used, if possible. If not, then the G.723 codecs will be used. Then, suppose User B calls User C and conferences in User C using the conference feature. The codec choice is negotiated and the MCU 103 is inserted into the media stream to provide transcoding. As shown in FIG. 1B, the MCU 103 communicates with User A and User B using G.711, and with User C using G.723. If a User D having only GSM is added to the conference, then MCU 103 will communicate with the User D using only GSM.
The amount of transcoding the MCU 103 must do depends upon which party is talking. When User A talks, User B receives the signal as is, and User C and User D require transcoding. When User B talks, User A receives the signal as is, and User C and User D require transcoding. When User C talks, Users A, B and D require transcoding. When User D talks, Users A, B, and C require transcoding.
The prior art thus is disadvantageous in that the MCU is required to perform transcoding which may be sub-optimal or even unnecessary. As such, the prior art MCUs can waste processing resources.
These and other drawbacks in the prior art are overcome in large part by a multipoint control unit (MCU) according to the present invention. According to one implementation, the MCU determines an optimal codec, for example, based on a highest quality xe2x80x9cmost common codecxe2x80x9d among parties to a multipoint conference. Alternatively, the optimal codec may be chosen to minimize transcoding. The MCU instructs any parties not using that codec to renegotiate their connections with the MCU to employ that codec. The determination is made as each party is added to the multipoint conference.
According to another embodiment, the codec optimization is made every time a different party talks. As each party is identified, the MCU issues commands to renegotiate the connections with the endpoints. Again, the codec may be chosen to maximize quality or to minimize transcoding.
According to another embodiment, a particular party is chosen as having a default codec. That party is chosen as being allowed its highest quality codec, with other parties receiving at their highest qualities possible. However, when the other parties transmit, they send with a lower quality codec to preserve bandwidth.